// 验证规则的包
const joi = require("joi");

// 验证用户名和密码规则
const username = joi.string().alphanum().min(1).max(10).required();
const password = joi
  .string()
  .pattern(/^[\S]{6,12}$/)
  .required();

// 定义id nickname email验证规则
const id = joi.number().integer().min(1).required();
const nickname = joi.string().required();
const email = joi.string().email().required();

// 定义头像规则
const avatar = joi.string().dataUri().required();
// 定义验证规则的校验对象
exports.regLoginSchema = {
  body: {
    username,
    password,
  },
};

// 更新用户基本信息验证规则
exports.updateUserInfoSchema = {
  body: {
    id,
    nickname,
    email,
  },
};

// 重置密码规则
exports.updatePwdSchema = {
  body: {
    oldPwd: password,
    newPwd: joi.not(joi.ref("oldPwd")).concat(password),
  },
};

// 验证规则对象--更新头像
exports.updateAvatarSchema = {
  body: {
    avatar,
  },
};
